package qc.module.qms.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import qc.common.core.enums.qms.QmsManualTaskStatusEnum;
import qc.common.core.enums.qms.QmsManualTaskTypeEnum;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * QmsTaskManual
 *
 * @author QuCheng Tech
 * @since 2025/10/14
 */
@Data
@TableName("qms_manual_task")
public class QmsManualTask implements Serializable, Cloneable {
    /**
     * 任务ID
     */
    @TableId
    private String id;
    /**
     * 任务标题
     */
    private String title;
    /**
     * 任务类型;计算点号数据、转发点号数据、生成报表、导出数据
     */
    private QmsManualTaskTypeEnum tasktype;
    /**
     * 任务的内容和说明;任务的内容及说明
     */
    private String content;
    /**
     * 操作人ID
     */
    private Integer userid;
    /**
     * 操作人名称
     */
    private String username;
    /**
     * 数据起始时间;可能是原始数据、点号数据或查询数据时间
     */
    private LocalDateTime databegintm;
    /**
     * 数据截止时间
     */
    private LocalDateTime dataendtm;
    /**
     * 任务状态
     */
    private QmsManualTaskStatusEnum taskstatus;
    /**
     * 执行起始时间;任务执行处理开始时间
     */
    private LocalDateTime execbegintm;
    /**
     * 执行结束时间;任务执行处理结束时间
     */
    private LocalDateTime execendtm;
    /**
     * 总数;任务分解出来的步骤/子任务的总数，用于显示任务的执行完成进度
     */
    private Integer totalcount;
    /**
     * 已成功数量;已执行成功的步骤/子任务的总数
     */
    private Integer successcount;
    /**
     * 已失败数量;已执行失败的步骤/子任务的总数
     */
    private Integer failcount;
    /**
     * 已取消数量;已取消/终止执行的步骤/子任务的总数
     */
    private Integer cancelcount;
    /**
     * 写入时间
     */
    private LocalDateTime intm;
    /**
     * 取消操作人ID;任务取消/终止操作人ID
     */
    private Integer canceluserid;
    /**
     * 取消操作人名称;任务取消/终止操作人名称
     */
    private String cancelusername;
    /**
     * 最后更新时间
     */
    private LocalDateTime uptm;
}
